package top.yuechenc.manage.common.token;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/***
 * 新建Token拦截器
 * @author Zhiwei Wang
 */
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {

    /**拦截所有请求，通过判断是否有 @LoginRequired 注解 决定是否需要登录
     * @author Zhiwei Wang
     * @return void
     * @date 2020/2/17 19:50
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authenticationInterceptor())
                .addPathPatterns("/**");
    }

    /**自己写的拦截器
     * @author Zhiwei Wang
     * @date 2020/2/17 19:51
     */
    @Bean
    public AuthenticationInterceptor authenticationInterceptor() {
        return new AuthenticationInterceptor();
    }
}